<?php

namespace App\Api\Exceptions;

use Exception;

class BusinessException extends Exception
{
    /**
     * 业务异常构造函数
     * @param int $code
     * @param string $info 自定义返回信息，不为空时会替换掉codeResponse 里面的message文字信息
     */
    public function __construct(int $code, $info = '')
    {
        if (class_exists($enumClass = config('api-response.enum')) && $enumClass::hasValue($code)) {
            $enumResponse = $enumClass::fromValue($code);
            $info = $info ?: $enumResponse->description;
        }
        parent::__construct($info, $code);
    }
}
